home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 2 / LSD and 17bit Compendium Deluxe - Volume II.iso / a / prog / asmsrc / mischards.lha / SourceCode / Grid.s < prev    next >
Text File  |  1980-02-20  |  4KB  |  264 lines

  1.     Opt    c-
  2.     Section    "Base Code",Code_c
  3.  
  4. GridBase    = $70000
  5. GridCopper1    = GridBase+$3a00
  6. GridCopper2    = GridBase+$5240
  7.  
  8.     IncDir    Df0:
  9.  
  10. Start    Movem.l    d0-d7/a0-a6,-(sp) 
  11.     Bsr    KillSys      
  12.         
  13.     Lea    HardWare,a6      
  14.     Move.w    #$83c0,DMACon(a6)    
  15.  
  16.     Move.l    #GridBase,a0
  17.     Move.l    OldCop1(pc),a1
  18.     Bsr    GridSeg+$20    ; Setup Grid and Copper
  19.  
  20. Loop    Bsr    VBL
  21.     Lea    CopperCols(pc),a0 ; Give Palette to Gridder
  22.     Lea    XYData(pc),a1
  23.     Bsr    GridSeg+$22
  24.     
  25.     Move.w    #1,d0
  26.     Move.w    #2,d1
  27.     Move.w    #1,d2
  28.     Move.w    #2,d3
  29.     Move.w    #1,d4
  30.     Lea    XYData(pc),a1
  31.     Add.w    d0,00(a1)
  32.     Sub.w    d0,02(a1)
  33.     Add.w    d1,04(a1)
  34.     Sub.w    d1,06(a1)
  35.     Add.w    d2,08(a1)
  36.     Sub.w    d2,10(a1)
  37.     Add.w    d3,12(a1)
  38.     Sub.w    d3,14(a1)
  39.     Add.w    d4,16(a1)
  40.     Sub.w    d4,18(a1)
  41.     And.w    #$7f,00(a1)
  42.     And.w    #$7f,02(a1)
  43.     And.w    #$7f,04(a1)
  44.     And.w    #$7f,06(a1)
  45.     And.w    #$7f,08(a1)
  46.     And.w    #$7f,10(a1)
  47.     And.w    #$7f,12(a1)
  48.     And.w    #$7f,14(a1)
  49.     And.w    #$7f,16(a1)
  50.     And.w    #$7f,18(a1)
  51.     
  52.     Btst    #6,$Bfe001      
  53.     Bne    Loop      
  54.  
  55.     Bsr    GridSeg+$24    ; Release Copper
  56.         
  57.     Bsr    ReturnSys      
  58.     Movem.l    (sp)+,d0-d7/a0-a6 
  59.     Moveq    #0,d0      
  60.     Rts
  61.  
  62. VBL    Move.l    $Dff004,d0
  63.     And.l    #$1ff00,d0
  64.     Cmp.l    #$13000,d0
  65.     Bne    VBL
  66.     Rts
  67.  
  68. KillSys    Bsr.s    SysWait    
  69.  
  70.     Move.l    $4,a6    
  71.     Lea    GFXName(pc),a1    
  72.     Moveq    #0,d0    
  73.     Jsr    -552(a6)    
  74.         
  75.     Lea    OldCop1(pc),a5
  76.     Move.l    $26(a0),$0(a5)    
  77.     Move.l    $32(a0),$4(a5)    
  78.     
  79.     Lea    HardWare,a6
  80.     Move.w    IntEnaR(a6),d0    
  81.     Move.w    DMAConR(a6),d1  
  82.     Or.w    #$8000,d0    
  83.     And.w    #$03ff,d1    
  84.     Or.w    #$8000,d1    
  85.     Move.w    d0,$8(a5)    
  86.     Move.w    d1,$a(a5)    
  87.     
  88.     Move.w    #$7fff,IntEna(a6) 
  89.     Move.w    #$7fff,DMACon(a6) 
  90.     Rts
  91.  
  92. SysWait    Move.w    #15,d7    
  93. SysWaitLoop    Move.l    #$05000,d1    
  94.     Bsr.s    WaitVBL    
  95.     Bsr.s    DoWaitVBL    
  96.     Dbf    d7,SysWaitLoop    
  97.     Rts
  98.  
  99. DoWaitVBL    Move.l    #$03000,d1    
  100. WaitVBL    Movem.l    d0-d1/a6,-(sp)    
  101.     Lea    HardWare,a6    
  102. WaitVBLLoop    Move.l    VPosR(a6),d0    
  103.     And.l    #$1ff00,d0    
  104.     Cmp.l    d1,d0    
  105.     Bne.s    WaitVBLLoop    
  106.     Movem.l    (sp)+,d0-d1/a6    
  107.     Rts        
  108.  
  109. ReturnSys    Lea    HardWare,a6    
  110.     Move.w    OldIntEna(pc),IntEna(a6)
  111.     Move.w    OldDMACon(pc),DMACon(a6)
  112.     Move.l    OldCop1(pc),Cop1lc(a6)
  113.     Move.l    OldCop2(pc),Cop2lc(a6)
  114.     Rts
  115.  
  116. GFXName    Dc.b    "graphics.library",0
  117.     Even
  118. OldCop1    Dc.l    0    
  119. OldCop2    Dc.l    0    
  120. OldIntEna    Dc.w    0    
  121. OldDmaCon    Dc.w    0
  122.  
  123. XYData    Dc.w    00,40
  124.     Dc.w    10,30
  125.     Dc.w    20,20
  126.     Dc.w    30,10
  127.     Dc.w    40,00
  128.         
  129. CopperCols    Dc.w    $180,$000,$182,$111,$184,$222,$186,$333
  130.     Dc.w    $188,$444,$18a,$555,$18c,$666,$18e,$777
  131.     Dc.w    $190,$888,$192,$aaa,$194,$bbb,$196,$ccc
  132.     Dc.w    $198,$ddd,$19a,$eee,$19c,$fff,$19e,$fef
  133.     Dc.w    $1a0,$fdf,$1a2,$fcf,$1a4,$fbf,$1a6,$faf
  134.     Dc.w    $1a8,$f9f,$1aa,$f8f,$1ac,$f7f,$1ae,$f6f
  135.     Dc.w    $1b0,$f5f,$1b2,$f4f,$1b4,$f3f,$1b6,$f2f
  136.     Dc.w    $1b8,$f1f,$1ba,$f0f,$1bc,$e0e,$1be,$d0d
  137.  
  138. GridSeg    Incbin    Gridder-Seg
  139.  
  140. ****Custom Chip Registers****
  141.  
  142. Hardware    = $Dff000
  143.  
  144. ;Control Registers
  145.  
  146. Dmaconr    = $002
  147. Vposr    = $004
  148. Vhposr    = $006
  149. Joy0dat    = $00A
  150. Joy1dat    = $00C
  151. Clxdat    = $00E
  152. Intenar    = $01C
  153. Intereqr    = $01E
  154. Copcon    = $02E
  155.  
  156. ;Blitter Registers
  157.  
  158. Bltcon0    = $040
  159. Bltcon1    = $042
  160. Bltafwm    = $044
  161. Bltalwm    = $046
  162. Bltcpth    = $048
  163. Bltcptl    = $04A
  164. Bltbpth    = $04C
  165. Bltbptl    = $04E
  166. Bltapth    = $050
  167. Bltaptl    = $052
  168. Bltdpth    = $054
  169. Bltdptl    = $056
  170. Bltsize    = $058
  171. Bltcmod    = $060
  172. Bltbmod    = $062
  173. Bltamod    = $064
  174. Bltdmod    = $066
  175. Bltcdat    = $070
  176. Bltbdat    = $072
  177. Bltadat    = $074
  178.  
  179. ;Copper Registers
  180.  
  181. Cop1lc    = $080
  182. Cop1lch    = $080
  183. Cop1lcl    = $082
  184. Cop2lc    = $084
  185. Cop2lch    = $084
  186. Cop2lcl    = $086
  187. Copjmp1    = $088
  188. Copjmp2    = $08A
  189. Diwstrt    = $08E
  190. Diwstop    = $090
  191. Ddfstrt    = $092
  192. Ddfstop    = $094
  193. Dmacon    = $096
  194. Clxcon    = $098
  195. Intena    = $09A
  196. Intreq    = $09C
  197.  
  198. ;BitPlane Registers 
  199.  
  200. BplCon0    = $100
  201. BplCon1    = $102
  202. BplCon2    = $104
  203. BplMod1    = $108
  204. BplMod2    = $10a
  205.  
  206. BplPt0h    = $0e0
  207. BplPt0l    = $0e2
  208. BplPt1h    = $0e4
  209. BplPt1l    = $0e6
  210. BplPt2h    = $0e8
  211. BplPt2l    = $0ea
  212. BplPt3h    = $0ec
  213. BplPt3l    = $0ee
  214. BplPt4h    = $0f0
  215. BplPt4l    = $0f2
  216. BplPt5h    = $0f4
  217. BplPt5l    = $0f6
  218.  
  219. ;Colour Registers
  220.  
  221. Color00    = $180
  222. Color01    = $182
  223. Color02    = $184
  224. Color03    = $186
  225. Color04    = $188
  226. Color05    = $18a
  227. Color06    = $18c
  228. Color07    = $18e
  229. Color08    = $190
  230. Color09    = $192
  231. Color10    = $194
  232. Color11    = $196
  233. Color12    = $198
  234. Color13     = $19a
  235. Color14     = $19c
  236. Color15     = $19e
  237. Color16     = $1a0
  238. Color17     = $1a2
  239. Color18     = $1a4
  240. Color19     = $1a6
  241. Color20     = $1a8
  242. Color21     = $1aa
  243. Color22     = $1ac
  244. Color23     = $1ae
  245. Color24     = $1b0
  246. Color25     = $1b2
  247. Color26     = $1b4
  248. Color27     = $1b6
  249. Color28     = $1b8
  250. Color29     = $1ba
  251. Color30     = $1bc
  252. Color31     = $1be
  253.  
  254. EcsNop    = $1fe
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.